Scroll to navigation

JOIN(1) Narzędzia tekstowe GNU 2.0 JOIN(1)

NAZWA

join - połącz linie dwóch plików według wspólnych pól

SKŁADNIA

[-a 1|2] [-v 1|2] [-e łańcuch] [-i] [--ignore-case]
[-o lista-pól...] [-t znak] [-j[1|2] pole]
[-1 pole] [-2 pole] plik1 plik2
[--help] [--version]

OPIS

Dokumentacja niniejsza nie jest już utrzymywana i może być niedokładna lub niekompletna. Autorytatywnym źródłem jest obecnie dokumentacja Texinfo. Dostęp do niej uzyskasz wpisując w wierszu poleceń:

pinfo join
lub
info join.

Ta strona podręcznika opisuje polecenie join w wersji GNU.

join wypisuje na standardowe wyjście linię dla każdej pary linii wejściowych o identycznych polach połączeniowych. Domyślnym polem połączeniowym jest pierwsze, separowane pustym znakiem. Każdą z nazw plików (ale nie obydwoma) może być '-', oznaczający standardowe wejście. plik1 oraz plik2 powinny zostać uprzednio posortowane w porządku rosnącym (nie numerycznie) według pól połączeniowych, z zastosowaniem porządku znaków określonego ustawieniem narodowym LC_COLLATE. Sortowanie winno być wykonane z pominięciem znaków pustych na początku pola połączeniowego, tak jak działa sort z podaną opcją -b, chyba że podano opcję -t, zmieniającą znak rozdzielający pola. Jeżeli podano opcję --ignore-case, linie powinny być posortowane bez rozróżniania wielkości znaków w polu połączeniowym, jak w sort -f.

Pola numerowane są od 1. Wartości domyślne to: pola połączeniowe są pierwszymi polami w każdej linii; pola w wejściu rozdzielone są jednym lub więcej znakami pustymi; znaki puste zaczynające linię są ignorowane (chyba że jawnie podano separator pól); pola w wyjściu rozdzielone są spacją; każda linia wyjścia składa się z pola połączeniowego, pozostałych pól z plik1, a potem pozostałych pól z plik2.

OPCJE

Oprócz normalnego wyjścia, wypisuje też niesparowane linie z pliku numer-pliku (1 albo 2).
Zastępuje puste pola wynikowe (te, których brakuje na wejściu) łańcuchem.
Ignoruje różnice między małymi i dużymi literami przy porównywaniu pól. Pola wejściowe muszą być wówczas uporządkowane według tej samej reguły.
-1, -j1 pole
Łączy według pola pole (dodatnia liczba całkowita) pliku 1
-2, -j2 pole
Łączy według pola pole (dodatnia liczba całkowita) pliku 2
Równoważne -1 pole -2 pole.
Konstruuje każdą linię wyjścia według formatu zawartego w liście-pól. Każdy element listy jest albo pojedynczym znakiem '0' albo ma postać M.N, gdzie M to numeru pliku (1 albo 2), zaś N - numer pola (liczba naturalna). Element '0' odpowiada polu połączeniowemu.

W większości przypadków funkcjonalność specyfikacji '0' można zastąpić użyciem bezpośredniego zapisu M.N, odpowiedniego dla pola połączeniowego. Jednak przy wydruku linii niesparowanych (użycie opcji -a lub -v) nie można w żaden sposób określić takiego pola przez użycie M.N w liście pól jeżeli linie niesparowane występują w obu plikach. Dla uzyskania takiej funkcjonalności join POSIX wynalazł notację '0'.

Elementy listy pól oddzielone są przecinkami lub znakami pustymi. Można podawać wielokrotne argumenty lista-pól po jednej opcji -o; wartości wszystkich list podanych po -o są łączone razem. Zadana lista pól jest stosowana do wszystkich linii wyjściowych - także tworzonych wskutek działania opcji -a czy -v.

Używa znaku znak jako separatora pól wejścia i wyjścia.
Wypisuje tylko niesparowane linie z pliku numer-pliku (1 albo 2), zamiast normalnego wyjścia. Jak opcja -a, ale eliminuje wspólne, połączone linie wynikowe.

Dodatkowo, kiedy GNU join wywoływane jest z dokładnie jednym argumentem, rozpoznawane są następujące opcje:

Wyświetla informację o stosowaniu programu i dostępnych opcjach, kończy pracę.
Wyświetla numer wersji programu i kończy pracę.

ZGŁASZANIE BŁĘDÓW

Błędy proszę zgłaszać, w jęz. ang., do <bug-textutils@gnu.org>.

COPYRIGHT

Copyright © 1999 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ZOBACZ TAKŻE

cut(1), paste(1), textutils(1).

OD TŁUMACZA

Zaktualizowano i poszerzono wg dokumentacji Texinfo dla narzędzi tekstowych GNU wersji 2.0.

FSF sierpień 1999